![]() | ![]() | ![]() | ![]() |
In SAS® 9.1.3 SP4 running on Solaris SPARC servers, a PROC SORT step using the multi-threaded SAS sort may hang or produce incorrect ordering if a non-native collating sequence is specified, and if the starting position of a BY variable within the input data set's program data vector (PDV) is greater than or equal to 4096.
A non-native collating sequence is one specified using either a procedure collating sequence option (EBCDIC, DANISH, SWEDISH, etc.), or using either the SAS system option or procedure option SORTSEQ=. A collating sequence is non-native if it does not match the collating sequence associated with the session encoding.
You can determine whether the starting position of the BY variable within the program data vector is greater than or equal to 4096 by running the following program. Note that you must provide a data set name on the PROC CONTENTS statement:
proc contents data=<data set name> out=cont(keep=varnum name type npos length) noprint; run; proc sort data=cont; by npos; run; proc print data=cont; var varnum name type npos length; where npos >= 4096; run;
If all of these conditions are met, then the problem may occur.
This behavior occurs only on Solaris SPARC servers.
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | Base SAS | 64-bit Enabled Solaris | 9.1 TS1M3 SP4 | 9.2 TS2M3 |